Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

soc/intel_adsp: Correct linker syntax for ancient binutils #38374

Merged
merged 2 commits into from
Sep 8, 2021

Conversation

andyross
Copy link
Contributor

@andyross andyross commented Sep 7, 2021

Older binutils, like the (nine-year-old!) 2.23 version that powers
many Cadence XCC toolchains, happen not to support the "~" operator to
perform bitwise negation. And they generate an absolutely hilarious
series of inscrutable error messages when they try to tell you this
fairly simple fact.

Just fold it into the constant.

Signed-off-by: Andy Ross andrew.j.ross@intel.com

Older binutils, like the (nine-year-old!) 2.23 version that powers
many Cadence XCC toolchains, happen not to support the "~" operator to
perform bitwise negation.  And they generate an absolutely hilarious
series of inscrutable error messages when they try to tell you this
fairly simple fact.

Just fold it into the constant.

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
@marc-hb
Copy link
Collaborator

marc-hb commented Sep 7, 2021

Tentatively Fixes: #38349

@dcpleung dcpleung linked an issue Sep 7, 2021 that may be closed by this pull request
Cadence XCC is based off of a very old 4.2 gcc compiler, which didn't
perfectly support C99 "inline" semantics with respect to
cross-translation-unit inline linkage (which Zephyr does not use, our
inlines are static only) and declaration order.

Fix the one spot where we were calling an inline before its
ALWAYS_INLINE definition, and add a flag to suppress the warning so
CI's trying to build with XCC and -Werror don't flip out.

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
@andyross
Copy link
Contributor Author

andyross commented Sep 7, 2021

Add a patch to suppress some warnings under XCC that were unmasked.

@zephyrbot zephyrbot added the platform: Intel ADSP Intel Audio platforms label Sep 8, 2021
@nashif nashif merged commit 0d763e0 into zephyrproject-rtos:main Sep 8, 2021
@kv2019i
Copy link
Collaborator

kv2019i commented Sep 8, 2021

Thanks @andyross , SOF build works again!

kv2019i added a commit to kv2019i/sof that referenced this pull request Sep 8, 2021
The regression in Zephyr mainline is fixed with
zephyrproject-rtos/zephyr#38374 , so
the XCC build can be renabled for cAVS targets.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
lgirdwood pushed a commit to thesofproject/sof that referenced this pull request Sep 8, 2021
The regression in Zephyr mainline is fixed with
zephyrproject-rtos/zephyr#38374 , so
the XCC build can be renabled for cAVS targets.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

XCC compilation fails on Intel cAVS platforms
6 participants